const mysql = require('mysql2/promise')

const pool = mysql.createPool({
  host: process.env.DB_HOST || 'localhost',
  user: process.env.DB_USER || 'root',
  password: process.env.DB_PASSWORD || '123456',
  database: process.env.DB_NAME || 'exam_system',
  waitForConnections: true,
  connectionLimit: 10,
  queueLimit: 0,
  acquireTimeout: 60000, // 从池中获取连接的超时时间 (毫秒)
  idleTimeout: 60000, // 空闲连接超时时间 (毫秒)，替换了原来的 'timeout'
  charset: 'utf8mb4',
  timezone: '+08:00',
})

// 测试连接
// pool.on('connection', (connection) => {
//   console.log('🔗 新连接已创建')
// })

// 测试数据库连接
pool
  .getConnection()
  .then((connection) => {
    console.log('✅ 数据库连接成功')
    connection.release()
  })
  .catch((err) => {
    console.error('❌ 数据库连接失败:', err.message)
  })

module.exports = pool
